package com.sgb.kjwl.view.widget;

import android.content.Context;
import android.util.AttributeSet;

import com.google.android.flexbox.FlexboxLayout;

import java.util.List;

public class FlexBoxLayoutMaxLines extends FlexboxLayout {
    private int maxLines = NOT_SET;

    @Override

    public void setMaxLine(int maxLine) {
        maxLines = maxLine;

    }

    public int getMaxLines() {
        return maxLines;

    }

    /**

     * see {@link #getMaxLines()}

     */

    @Deprecated

    @Override

    public int getMaxLine() {
        return NOT_SET;

    }

    public FlexBoxLayoutMaxLines(Context context) {
        this(context, null);

    }

    public FlexBoxLayoutMaxLines(Context context, AttributeSet attrs) {
        this(context, attrs, 0);

    }

    public FlexBoxLayoutMaxLines(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);

        setMaxLine(super.getMaxLine());

        super.setMaxLine(NOT_SET);

    }

    @Override

    public List getFlexLinesInternal() {
        List flexLines = super.getFlexLinesInternal();

        int size = flexLines.size();

        if (maxLines > 0 && size > maxLines) {
            flexLines.subList(maxLines, size).clear();
        }

        return flexLines;

    }

}